/**
 * 用户详情对话框（可用于添加和修改对话框）
 */
var UserPwdDlg = {
    userPwdData: {},
    validateFields: {
        oldPwd: {
            validators: {
                notEmpty: {
                    message: '原密码不能为空'
                },
                regexp: {
                    regexp: /^([\w_]{6,16})$/,
                    message: '请输入6-16位数字或者字母'
                },
            }
        },
        newPwd: {
            validators: {
                notEmpty: {
                    message: '新密码不能为空'
                },
                identical: {
                    field: 'rePwd',
                    message: '两次密码必须相同'
                },
                regexp: {
                    regexp: /^([\w_]{6,16})$/,
                    message: '请输入6-16位数字或者字母'
                },
            }
        },
        rePwd: {
            validators: {
                notEmpty: {
                    message: '确认密码不能为空'
                },
                identical: {
                    field: 'newPwd',
                    message: '两次密码必须相同'
                },
                regexp: {
                    regexp: /^([\w_]{6,16})$/,
                    message: '请输入6-16位数字或者字母'
                },
            }
        }
    }
};

/**
 * 清除数据
 */
UserPwdDlg.clearData = function () {
    this.userPwdData = {};
};

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
UserPwdDlg.set = function (key, val) {
    this.userPwdData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
    return this;
};

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
UserPwdDlg.get = function (key) {
    return $("#" + key).val();
};

/**
 * 关闭此对话框
 */
UserPwdDlg.close = function () {
    var index = parent.layer.getFrameIndex(window.name);
    parent.layer.close(index);
};

/**
 * 收集数据
 */
UserPwdDlg.collectData = function () {
    this.set('oldPwd').set('newPwd').set('rePwd');
};

/**
 * 验证数据是否为空
 */
UserPwdDlg.validate = function () {
    $('#userPwdForm').data("bootstrapValidator").resetForm();
    $('#userPwdForm').bootstrapValidator('validate');
    return $("#userPwdForm").data('bootstrapValidator').isValid();
};

/**
 * 修改密码
 */
UserPwdDlg.chPwdSubmit = function () {
    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }
    var ajax = new $ax(Common.ctxPath + "/user/changePwd", function (result) {
        if (result.success) {
            Common.success(result.message + "!");
            UserPwdDlg.close();
        } else {
            Common.error(result.message + "!");
        }
    }, function (result) {
        Common.error(result.responseJSON.message + "!");
    });
    ajax.set(this.userPwdData);
    ajax.start();
};

$(function () {
    Common.initValidator("userPwdForm", UserPwdDlg.validateFields);
});